using B.S.Domain.审计字段;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace B.S.Domain.InvoiceManagement
{
    /// <summary>
    /// 到票信息表
    /// 用于记录销售发票的到票情况
    /// </summary>
    public class InvoiceReceipt : BaseModel
    {
        /// <summary>
        /// 到票记录ID
        /// </summary>
        [Key]
        public int ReceiptId { get; set; }

        /// <summary>
        /// 发票ID
        /// 外键，关联到SalesInvoice表
        /// </summary>
        public int InvoiceId { get; set; }

        /// <summary>
        /// 发票导航属性
        /// 用于实体框架Core的关系映射
        /// </summary>
        [ForeignKey("InvoiceId")]
        public virtual SalesInvoice Invoice { get; set; }

        /// <summary>
        /// 到票日期
        /// 发票收到的日期
        /// </summary>
        public DateTime ReceiptDate { get; set; }

        /// <summary>
        /// 到票金额
        /// 本次到票的金额
        /// </summary>
        public decimal ReceiptAmount { get; set; }

        /// <summary>
        /// 到票状态
        /// 0：部分到票，1：全部到票，2：未到票
        /// </summary>
        public int ReceiptStatus { get; set; }

        /// <summary>
        /// 收款方式
        /// 如：现金、银行转账、支票等
        /// </summary>
        public string PaymentMethod { get; set; }

        /// <summary>
        /// 交易流水号
        /// 支付平台或银行返回的交易流水号
        /// </summary>
        public string TransactionNo { get; set; }

        /// <summary>
        /// 备注
        /// 到票相关的备注信息
        /// </summary>
        public string Remarks { get; set; }
    }
}